/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.jm.financeiro.datamodel;

import br.jm.financeiro.entity.Empreendimento;
import java.io.Serializable;
import java.util.List;
import javax.faces.model.ListDataModel;
import org.primefaces.model.SelectableDataModel;

/**
 *
 * @author joao
 */
public class LazySelectedEmpreendimento extends ListDataModel<Empreendimento> implements SelectableDataModel<Empreendimento>, Serializable { 

    public LazySelectedEmpreendimento() {
        
    }
    
    public LazySelectedEmpreendimento(List<Empreendimento> data) {
        super(data);
    }
    
    @Override
    public Empreendimento getRowData(String rowKey) {
        //In a real app, a more efficient way like a query by rowKey should be implemented to deal with huge data
        
        List<Empreendimento> empreendimentos = (List<Empreendimento>) getWrappedData();
        
        for(Empreendimento empreendimento : empreendimentos) {
            if(empreendimento.getIdEmpreendimento().toString().equals(rowKey))
                return empreendimento;
        }
        
        return null;
    }

    @Override
    public Object getRowKey(Empreendimento empreendimento) {
        return empreendimento.getIdEmpreendimento();
    }
}

